A linear-quadratic regulator (LQR) is a feedback controller designed to operate a dynamic system at minimum cost. An LQR controller can be implemented using a state space representation of the linear (L) system as a set of input, output and state variables related by linear differential equations. The cost is described by a quadratic (Q) function, and is defined as a weighted sum of the deviations of key measurements from their desired values and the control effort. In effect this algorithm therefore finds those controller settings that minimize the undesired deviations, like deviations from desired altitude or process temperature. To abstract from the number of inputs, outputs and states, the variables may be expressed as vectors and the differential and algebraic equations are written in matrix form. The state space representation (also known as the “time-domain approach”) provides a convenient and compact way to model and analyze systems with multiple inputs and outputs. While the LQR feedback control strategy is relatively fast and efficient, it is not capable of predicting the future expected response of the system, and therefore is limited to controlling the system in a reactive mode. Model predictive control (MPC) strategy, on the other hand, can predict the future likely response of a system to a control move, and incorporate the constraints on input, output, and state variables into the manipulated value trajectory design. Therefore MPC is a more powerful control, often favored over LQR control.
MPC is based on iterative, finite horizon optimization of a system model. At time t the current system state is sampled and a cost minimizing manipulated value trajectory is computed, for example using a numerical minimization algorithm, for a time horizon in the future: [t, t+T]. Specifically, an online or on-the-fly calculation is used to explore state trajectories that emanate from the current state and find a cost-minimizing manipulated value trajectory until time t+T. Such a strategy may be determined through a solution of quadratic program (QP). A first step of the manipulated value trajectory is implemented, then the system state is sampled again and the calculations are repeated starting from the now current state, yielding a new control and new predicted state path. The prediction horizon keeps being shifted forward and for this reason MPC is also called receding horizon control.
According to one example embodiment, the MPC is a multivariable control algorithm that uses an internal dynamic model of the process, a history of past control moves, and an optimization cost function J over the receding prediction horizon to calculate the optimum control moves. In one example implementation, the process to be controlled can be described by a time-invariant nth-order multiple-input multiple-output (MIMO) ARX (Autoregressive Model with External Input) model:
      y    ⁡          (      k      )        =            -                        ∑                      i            =            1                    n                ⁢                              A            ⁡                          (              i              )                                ⁢                      y            ⁡                          (                              k                -                i                            )                                            +                  ∑                  i          =          0                n            ⁢                        B          ⁡                      (            i            )                          ⁢                  u          ⁡                      (                          k              -              i                        )                                +                  ∑                  i          =          1                n            ⁢                        C          ⁡                      (            i            )                          ⁢                  v          ⁡                      (                          k              -              i                        )                                +          e      ⁡              (        k        )            where u(k) is a vector of nu inputs or manipulated variables (MVs), v(k) is a vector of nv disturbance variables (DVs), y(k) is a vector of ny outputs or controlled variables (CVs), e(k) is a white noise sequence of measurement noise (an ny vector) with ny×ny covariance matrix Σ, and A(i), B(i) and C(i) are coefficient matrices (of appropriate dimensions ny×ny, ny×nu and ny×nu). Note that the latest data that are available for the prediction of the output y(k) are the disturbance v(k−1) and the values of manipulated variable u(k). With Kalman filter enabled, also the OE (Output Error) model can be used as an alternative.
Recently the trend is to move advanced process control (APC) solutions such as MPC from the supervisory level, for example implemented in a Windows environment, to the distributed control system (DCS) controller level. A distributed control system (DCS) refers to a control system usually of a manufacturing system, process or any kind of dynamic system, in which the controller elements are not central in location but are distributed throughout the system with each component sub-system controlled by one or more controllers. The entire system of controllers is typically connected by networks for communication and monitoring.